#ifndef UTIL_H
#define UTIL_H

#include <QString>
#include <QSettings>
#include <QCoreApplication>
#include <QDir>
#include <QStandardPaths>

/**
 * @brief 工具类
 *
 * 提供通用的工具方法：
 * - 配置文件读写
 * - 路径管理
 * - 文件操作辅助方法
 */
class Util
{
public:
    // 配置文件读写
    static bool writeInit(const QString& path, const QString& user_key, const QString& user_value);
    static bool readInit(const QString& path, const QString& user_key, QString& user_value);

    // 获取配置文件路径
    static QString getConfigPath();
    static QString getUserConfigPath();

    // 路径辅助方法
    static QString getApplicationDataPath();
    static QString ensureDirectoryExists(const QString& path);

    // 字符串处理
    static QString generateRandomString(int length);
    static QString formatBytes(qint64 bytes);

    // 文件操作
    static bool fileExists(const QString& filePath);
    static bool createDirectory(const QString& dirPath);
    static bool removeDirectory(const QString& dirPath);

private:
    // 私有构造函数，工具类不允许实例化
    Util() = delete;
};

#endif // UTIL_H